package com.uco.oop;

// 设计模式：单例模式
// 创建一个类，该类只有一个实例，节约系统资源
public class SingleInstance {
    public static void main(String[] args) {
        Single s1 = Single.getInstance();
        Single s2 = Single.getInstance();
        System.out.println(s1);
        System.out.println(s2);
        System.out.println(s1 == s2);
    }
}


class Single {
    // step 1: 创建一个静态私有变量(静态变量)
    private static Single s;

    // step 2: 私有化构造函数
    private Single() {}

    // step 3: 对外提供静态方法，返回实例对象
    public static Single getInstance(){
        if(Single.s == null){
            Single.s = new Single();
        }
        return Single.s;
    }
}
